怎样写好代码 | 您所在的位置:网站首页 › pyecharts map有些没有数据 › 怎样写好代码 |
怎样写好代码 本文是《201 principles of software development》和《代码简介之道》关于如何写好代码部分的感悟。 一 让变量和注释清晰可读 好的变量命名与注释是保证代码简洁、具有可读性性的第一步。 能在变量命名和函数命名中清楚体现出代码的意义的话,就不必要写冗余的注释。在python这样的语言中,强调简介和良好的可阅读性,最好做到代码即文档。 Simple is better than complex. Readability counts. 有这样一个小例子: d = 0 #流逝的时间,按天计算这个变量命名貌似进行了详细的注释,但是不是一个好的命名。如果在另外的地方出现这个变量,读者可能早忘了它的注释意义。 把这个变量命名为elapsedDays或者elapsedTimeInDays才符合代码即文档的思想。 在变量命名是要清楚的表明这个变量的意义。注释应该阐述你的设计思想、有意义的说明、对读者的提示等,不要放啰嗦的法律申明。 关于清晰的一点体会是尽量显示的用代码表达你的意思,建议少用匿名函数,下面可以做些对比,这是功能相同的代码: symbols = 'abd&^*' beyond_ascii = list(filter(lambda c: c > 50, map(ord, symbols))) beyond_ascii = [ord(s) for s in symbols if ord(s) > 50]>>> beyond_ascii [97, 98, 100, 94] 显示的表达让代码更清晰。Explicit is better than implicit.
二 简洁优美 代码简洁优美我们追求的下一个层次。下面是一个简单的统计单词出现次数的字典。下面有2种写法,功能相同。 但第二种写法更简洁优美,并且执行效率更高。 if word in count_dict: num = count_dict[word] num += 1 count_dict[word] = num else: count_dict[word] = 1 count_dict[word]=1 + count_dict.setdefault(word,0)
三 暴露bug,快速失败 在程序设计的时候,不要让bug溜走,要快速失败fail fast。 让程序快速崩溃,这听起来似乎违反直接。其实不然, 让程序快速失败可以让开发者迅速的得到反馈,从而改进代码。如果开发者没有注意到一些潜在的问题, 程序可能处于一种不正常的状态,而表面上看起来还流畅运行,这其实增加了程序的危险性,同时让bug更难调试。 所以在写try except时,try的代码模块要尽量小,一般只有一行。 不要try一大堆代码,这不符合尽量暴露bug的原则。
四 代码中没有奇迹 如果项目延后了,只剩下2天时间。这两天时间只够进行各程序模块开发,而没有时间联调测试。 要不要赌一把?争取2天开发完成,联调没有bug,成功运行! 代码开发中没有奇迹,错误难免且很多。充分的联调测试必不可少。 期待奇迹赌一把,反而会在最后关头把事情搞砸。还不如提前通知相关方,老实告诉项目延后了。 总结,个人体会如果要让代码更好,一定让变量和注释清晰可读,尽量让代码简洁优美。在代码开发测试中没有奇迹,一定要充分暴露bug,充分测试。 |
CopyRight 2018-2019 实验室设备网 版权所有 |